Content addressable memories (CAMs) are used in several applications ranging from look-up tables to artificial neural networks. One application of CAMs is an electronic spelling checker, where a CAM-based dictionary is searched to locate a word with a specific spelling. If there is at least one word with the same spelling as the input word, the search will be successful. A CAM searches for data by content rather than by address. Thus, a CAM is distinguished from a conventional address-based random access memory (RAM) which searches for data at a particular address. A typical CAM includes an array of core cells and comparators, so as to perform the dual functions of storage of a bit of data and comparison of the stored bit to applied reference data. Many CAMs are designed with dynamic circuits to achieve a higher density than that of static random access memory-based CAMs. Dynamic CAMs, however, need a stand-by power supply as well as periodic refreshing of their contents even during periods when the CAM is not being searched. An NVCAM using floating-gate metal oxide semiconductor (MOS) devices eliminates the stand-by-power-supply problem (see a paper by T. Hanyu et al. entitled "Functionally Separated, Multiple-Valued Content-addressable Memory and its Applications", IEEE Proc.-Circuits Devices Syst., Vol. 142, No. 3, pp. 165-172, June 1995). It does not, however, support real-time programming and hence, it may constrain the CAM-based application.
European Patent Application published on Dec. 7, 1988 (EP 0 293 798 A2) discloses nonvolatile memories using ferroelectric capacitors. U.S. Pat. No. 4,910,708 granted to S. S. Eaton, Jr. et al. on Mar. 20, 1990 discloses shadow RAMs. U.S. Pat. No. 4,809,225 granted to K. Dimmler et al. on Feb. 28, 1989 discloses transpolarizers. U.S. Pat. No. 5,291,436 granted to A. Kamisawa on Mar. 1, 1994 discloses ferroelectric memory cells with multiple-value states.
In this disclosure, an FCAM means a content addressable memory using a ferroelectric capacitor as a storage element and FRAM means a random access memory using a ferroelectric capacitor as a storage element.